home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
program
/
mkutil21.zip
/
MAKEDEFS
/
WC32.MK
< prev
Wrap
Text File
|
1995-02-06
|
6KB
|
183 lines
#############################################################################
#
# Copyright (C) 1994 SciTech Software
# All rights reserved.
#
# Descripton: Generic DMAKE startup makefile definitions file. Assumes
# that the SCITECH environment variable has been set to point
# to where all our stuff is installed. You should not need
# to change anything in this file.
#
# Watcom C++ 10.0 32 bit version. Supports Rational's DOS4GW
# DOS Extender and Phar Lap's TNT DOS Extender.
#
# $Id: wc32.mk 1.1 1995/02/06 12:49:39 kjb release $
#
#############################################################################
# Disable warnings for macros redefined here that were given
# on the command line.
__.SILENT := $(.SILENT)
.SILENT := yes
# File suffix definitions
L := .lib # Libraries
E := .exe # Executables
O := .obj # Objects
A := .asm # Assembler sources
P := .cpp # C++ sources
# Import enivornment variables that we use
TMPDIR := $(ROOTDIR)/tmp
.IMPORT .IGNORE : TMPDIR COMSPEC INCLUDE LIB SCITECH DBG OPT SHW BETA
.IMPORT .IGNORE : USE_TNT USE_X32 USE_X32VM USE_PMW FPU
# We use the MSDOS shell at all times
SHELL := $(COMSPEC)
GROUPSHELL := $(SHELL)
SHELLFLAGS := $(SWITCHAR)c
GROUPFLAGS := $(SHELLFLAGS)
SHELLMETAS := *"?<>
GROUPSUFFIX := .bat
DIRSEPSTR := \\
DIVFILE = $(TMPFILE:s,/,\)
# Default commands for compiling, assembling linking and archiving
CC := wcl386 # C-compiler and flags
CFLAGS := -zq -w2 -s -fh -fhq
AS := tasm # Assembler and flags
ASFLAGS := /mx /m /D__FLAT__ /i$(SCITECH)\INCLUDE
LD := wlink # Loader and flags
LDFLAGS =
LIB := wlib # Librarian
LIBFLAGS := -q
# Optionally turn on debugging information
.IF $(DBG)
CFLAGS += -d2 # Turn on debugging for C compiler
LIBFLAGS += -p=128 # Larger page size for libraries with debug info!
ASFLAGS += /zi # Turn on debugging for assembler
LDFLAGS += D A # Turn on debugginf for linker
.END
# Optionally turn on optimisations
.IF $(OPT)
CFLAGS += -oneatx -5r
.END
# Optionally turn on direct i387 FPU instructions optimised for Pentium
.IF $(FPU)
CFLAGS += -fpi87 -fp5 -DFPU387
ASFLAGS += -DFPU387
.END
# Optionally compile a shareware version of a product
.IF $(SHW)
LIB_DIR := LIBSW
CFLAGS += -DSHAREWARE
.ELSE
LIB_DIR := LIB
.END
# Optionally compile a beta release version of a product
.IF $(BETA)
CFLAGS += -DBETA
ASFLAGS += -DBETA
.END
# Use a larger stack during linking if requested
.IF $(STKSIZE)
LDFLAGS += OP STACK=$(STKSIZE)
.ENDIF
.IF $(USE_TNT) # Use Phar Lap's TNT DOS Extender
LDFLAGS += SYS NT OP STUB=GOTNT.EXE
DX_CFLAGS += -DTNT
DX_ASFLAGS += -DTNT
.ELIF $(USE_X32VM) # Use FlashTek X-32VM DOS extender
LDFLAGS += SYS X32RV
DX_CFLAGS += -DX32VM
DX_ASFLAGS += -DX32VM
.ELIF $(USE_X32) # Use FlashTek X-32 DOS extender
LDFLAGS += SYS X32R
DX_CFLAGS += -DX32VM
DX_ASFLAGS += -DX32VM
.ELIF $(USE_WIN32) # Build Windows 32 bit DPMI app
DX_CFLAGS += -DWINDPMI32
DX_ASFLAGS += -DWINDPMI32
.ELSE # Use DOS4GW
USE_DOS4GW := 1
DX_CFLAGS += -DDOS4GW
DX_ASFLAGS += -DDOS4GW
.END
# Place to look for PMODE library files
.IF $(MK_PMODE)
.ELIF $(USE_TNT)
PMLIB := tnt\pmode.lib,
.ELIF $(USE_X32)
PMLIB := x32\pmode.lib,
.ELIF $(USE_WIN32)
PMLIB := win32\pmode.lib,
.ELSE
PMLIB := dos4gw\pmode.lib,
.END
# Define where to install library files
LIB_BASE := $(SCITECH)\$(LIB_DIR)\WC32
LIB_DEST := $(LIB_BASE)
# Definition of $(MAKE) macro for recursive makes.
MAKE = $(MAKECMD) $(MFLAGS)
# Macro to install a library file
INSTALL := cp
# Implicit generation rules for making object files
%$O: %.c ; +$(CC) $(CFLAGS) -c $<
%$O: %$P ; +$(CC) $(CFLAGS) -c $<
%$O: %$A ; +$(AS) $(ASFLAGS) $(<:s,/,\)
# Implicit rule for building a library file using response file
%$L: ; +$(LIB) $(LIBFLAGS) $@ @$(mktmp,$*.rsp -+$(?:t"\n-+")\n)
# Implicit rule for building an executable file using response file
.IF $(USE_TNT)
%$E: ; +$(LD) $(LDFLAGS) @$(mktmp,$*.lnk OP quiet\nN $@\nF $(&:t",":s/\/\\)\nLIBR dosx32.lib,$(PMLIB)$(EXELIBS:t","))
.ELIF $(USE_X32)
%$E: ;
@[
@trimlib $(mktmp OP quiet\nN $@\nF $(&:t",":s/\/\\)\nLIBR $(PMLIB)$(EXELIBS:t",")) $*.lnk
$(LD) $(LDFLAGS) @$*.lnk
x32fix $@
@rm $*.lnk
]
.ELIF $(USE_PMW)
%$E: ;
@[
@trimlib $(mktmp OP quiet\nN $@\nF $(&:t",":s/\/\\)\nLIBR $(PMLIB)$(EXELIBS:t",")) $*.lnk
$(LD) $(LDFLAGS) @$*.lnk system pmodew
@rm $*.lnk
]
.ELSE
%$E: ;
@[
@trimlib $(mktmp OP quiet\nN $@\nF $(&:t",":s/\/\\)\nLIBR $(PMLIB)$(EXELIBS:t",")) $*.lnk
$(LD) $(LDFLAGS) @$*.lnk
@rm $*.lnk
]
.ENDIF
# DMAKE uses this recipe to remove intermediate targets
.REMOVE :; $(RM) -f $<
# Turn warnings back to previous setting.
.SILENT := $(__.SILENT)
# We dont use TABS in our makefiles
.NOTABS := yes